iT邦幫忙

2023 iThome 鐵人賽

DAY 23
1
自我挑戰組

NodeJS with MongoDB專案開發系列 第 23

day 23 node.js with mongo db專案開發

  • 分享至 

  • xImage
  •  

AIOT豬隻養殖智慧系統

豬隻養殖是一項相當勞心費神的工作,需要耗費相當大量的時間,因此寫一個智慧豬隻養殖系統協助豬農管理,分擔人力的支出使得豬隻的品質更好,讓豬隻的生活品質更好,使得豬隻更不容易生病也讓豬農能更有效的養殖豬隻,因此下面的程式便是智慧豬隻養殖系統呈現
建立一個AIOT(人工智慧物聯網)智慧豬隻養殖系統需要整合多個元件,包括感測器、控制器、資料庫和前端應用程式。

  1. 安裝所需套件:
    使用npm(Node.js的套件管理器)來安裝所需的套件,包括Express.js(用於建立Web伺服器),Mongoose(用於操作MongoDB),以及其他相關的Node.js模組。

    npm install express mongoose body-parser
    
  2. 創建基本的應用程式結構:
    在我的專案目錄下,創建一個Node.js應用程式,包括主要的服務器檔案(例如app.js)和一個資料庫連線模組。

    // app.js
    const express = require('express');
    const bodyParser = require('body-parser');
    const mongoose = require('mongoose');
    const app = express();
    const port = process.env.PORT || 3000;
    
    // 使用body-parser中介軟體來解析請求主體
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());
    
    // 連接到MongoDB
    mongoose.connect('mongodb://localhost/pig_farm', { useNewUrlParser: true, useUnifiedTopology: true });
    const db = mongoose.connection;
    db.on('error', console.error.bind(console, 'MongoDB 連線錯誤:'));
    db.once('open', () => {
      console.log('成功連接到MongoDB');
    });
    
    // 定義豬隻模型
    const Pig = mongoose.model('Pig', {
      name: String,
      age: Number,
      weight: Number,
    });
    
    // 處理API端點
    app.get('/pigs', async (req, res) => {
      try {
        const pigs = await Pig.find();
        res.json(pigs);
      } catch (err) {
        res.status(500).json({ error: '無法取得豬隻資料' });
      }
    });
    
    // 建立新的豬隻
    app.post('/pigs', async (req, res) => {
      try {
        const pig = new Pig(req.body);
        await pig.save();
        res.json(pig);
      } catch (err) {
        res.status(500).json({ error: '無法建立新的豬隻' });
      }
    });
    
    // 啟動伺服器
    app.listen(port, () => {
      console.log(`伺服器在 http://localhost:${port} 啟動`);
    });
    
  3. 創建MongoDB資料庫:
    在MongoDB中創建一個名為pig_farm的資料庫,以儲存豬隻資料。

  4. 使用感測器模擬數據:
    在實際系統中,我將需要連接真實的感測器來收集豬隻的數據。但在這個示例中,我將使用虛擬的感測器,定期產生模擬的豬隻數據並將其儲存在MongoDB中。

  5. 創建前端應用程式:
    使用適當的前端框架(例如React、Vue.js或Angular),建立一個使用者界面,用戶可以查看豬隻的數據,設置警報和監控養殖環境。


上一篇
Day 22nodrjs with mongo db專案開發
下一篇
day 24 node.js with mongo db專案開案
系列文
NodeJS with MongoDB專案開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言